package com.py.credit.dao;

import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public interface LhjcAjbhDao {

    int detailIsExistOtherStorage(@Param(value = "jclb") String jclb,
                                  @Param(value = "type") String type,
                                  @Param(value = "ztmc") String ztmc,
                                  @Param(value = "bm") String bm);

    Date selectJzrqDate(@Param(value = "jclb") String jclb,
                        @Param(value = "qymc") String qymc,
                        @Param(value = "bm") String bm,
                        @Param(value = "gzbm") String gzbm,
                        @Param(value = "ysajh") String ysajh);

    int selectCompanyIsExist(@Param(value = "tybm") String tybm);

    void addCompany(@Param(value = "tybm") String tybm,
                    @Param(value = "name") String name,
                    @Param(value = "tyshxydm") String tyshxydm,
                    @Param(value = "zzjgdm") String zzjgdm,
                    @Param(value = "gsdjm") String gsdjm);

    int selectPersonIsExist(@Param(value = "tybm") String tybm,
                            @Param(value = "bm") String bm);

    void addPerson(@Param(value = "tybm") String tybm,
                   @Param(value = "name") String name,
                   @Param(value = "idcard") String idcard,
                   @Param(value = "position") String position,
                   @Param(value = "zjtype") String zjtype);

    void addMess(@Param(value = "tybm") String tybm,
                 @Param(value = "glcf") String glcf,
                 @Param(value = "repairTime") String repairTime,
                 @Param(value = "type") String type,
                 @Param(value = "jclb") String jclb,
                 @Param(value = "ajbh") String ajbh,
                 @Param(value = "gzId") int gzId,
                 @Param(value = "remark") String remark,
                 @Param(value = "sxsj") String sxsj,
                 @Param(value = "ztmc") String ztmc,
                 @Param(value = "frajbh") String frajbh,
                 @Param(value = "bm") String bm,
                 @Param(value = "lrfs") String lrfs,
                 @Param(value = "userId") long userId,
                 @Param(value = "deptId") long deptId,
                 @Param(value = "ysajh") String ysajh,
                 @Param(value = "updateTime") String updateTime);

    Map<String, String> selectAjbhRecord(@Param(value = "id") String id);

    void modifyAjbhRecord(@Param(value = "id") String id,
                          @Param(value = "datetime") String datetime,
                          @Param(value = "count") int count);

    Integer selectMbId(@Param(value = "status") String status);

    List<Long> selectDeptIdList(@Param(value = "gzId") int gzId);

    void addMessagecenter(@Param(value = "name") String name,
                          @Param(value = "type") String type,
                          @Param(value = "mbId") int mbId,
                          @Param(value = "manegerId") long manegerId,
                          @Param(value = "deptId") long deptId,
                          @Param(value = "ajbh") String ajbh,
                          @Param(value = "operatorId") long operatorId,
                          @Param(value = "operatorDeptId") long operatorDeptId);

    Map<String, String> getZrrInfo(@Param(value = "idcard") String idcard);

    void modifyFrGlcfAjbh(@Param(value = "glcf") String glcf,
                          @Param(value = "ajbh") String ajbh);

    void addAjfqErrLog(@Param(value = "recordId") String recordId,
                       @Param(value = "tableName") String tableName,
                       @Param(value = "errLog") String errLog);

    LinkedHashMap selectAjfqErrInfo(@Param(value = "recordId") String recordId,
                                    @Param(value = "tableName") String tableName);
}
